#ifndef MARKETSIM_H
#define MARKETSIM_H

#include "customer.h"
#include "customerGen.h"
#include "cqueue.h"
#include <iostream>

using std::cout;
using std::endl;
using std::cin;

class marketSim{

	private:
		customerGen* genisis;

		shoppers     shopping;
		deli         deliLine;
		contest      contestLine;
		checkout**   checkouts;
	  		
		int          LNumbers[4];

		int          processed;
		int          averageTime;
		int          longestTime;
		string       loiterer;
		
		int          clock;
		
	public:
		marketSim();
		~marketSim();
		
		void seedG(string, string, int, int, int);
		void setCheckouts(int, int, int, int);
	
		void simulate();

		int  nextEvent();
		void resolveArrivals();
		void resolveContest();
		void resolveDeli();
		void resolveCheckouts(int);
		void resolveShopping();
		void process(customer);
	
		void results();
};

#include "marketSim.cpp"

#endif
